<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ThinkYXC-CMS系统-插件列表</title>
    {include file="template/header" /}
    <style>
        .layui-btn+.layui-btn{
            margin-left: 10px !important;
        }
        .layui-btn.layuiadmin-btn-list{
            height: 38px;
            padding: 0px 18px;
            font-size: 14px;
            line-height: 38px;
        }
        .serchform{
            width:300px;
            padding: 13px 0px 63px 0px;
        }
    </style>
</head>

<body>
    
    <div class="layui-card">
  <!--<div class="layui-card-header">卡片面板</div>-->
  <div class="layui-card-body">
      <div style="padding: 10px;" class="demoTable">
          <button class="layui-btn layuiadmin-btn-list" data-type="updatas" lay-event="updatas" id="updatas">刷新</button>
        </div>
        
        
    <table class="layui-hide" id="test" lay-filter="test"></table>
 
<script type="text/html" id="barDemos">
    {{#  if(d.status == 1){ }}
        <!-- <a class="layui-btn layui-btn-xs" lay-event="edit">设置</a> -->
        {{#  if(d.hasAdmin == 1){ }}
            <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="guanli">管理</a>
         {{#  } else { }}
            <a class="layui-btn layui-btn-primary layui-btn-disabled layui-btn-xs" lay-event="guanli">管理</a>
         {{#  } }}
       
       <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="updata">更新</a> 
      <!-- <a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="disable">禁用</a> -->
      <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">卸载</a>
  {{#  } else { }}
    <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="install">点击安装</a>
  {{#  } }}
  
</script>
<script type="text/html" id="statusp">

{{#  if(d.status == 1){ }}
    <a class="layui-btn layui-btn-xs" >已安装</a>
  {{#  } else { }}
    <a class="layui-btn layui-btn-primary layui-btn-xs">未安装</a>
  {{#  } }}
</script>
  </div>
</div>
    
    
    
     
   {include file="template/footer" /}
   
<script>
var form = layui.form
  ,layer = layui.layer
  ,layedit = layui.layedit
  ,$ = layui.jquery
  ,laydate = layui.laydate
  ,table = layui.table;
  var util = layui.util,
  active = {
    getCheckData: function(){ //获取选中数据
      var checkStatus = table.checkStatus('test')
      ,data = checkStatus.data;
      if(!data[0]){
          layer.msg('请选中要卸载的插件');
          return
      }
      layer.confirm('要卸载该插件吗？', function(index){
                //do something
        //   layer.alert(JSON.stringify(data));
              $.ajax({
                  url:"{:url('plusgin/dellist')}",
                  data:{'data':JSON.stringify(data)},
                  type:"Post",
                  dataType:"json",
                  success:function(data){
                    console.log(data);
                    if(data.code == 1){
                         updata();
                     }
                      layer.msg(data.msg);
                    
                  },
                  error:function(data){
                      $.messager.alert('错误',data.msg);
                  }
              });    
        
        layer.close(index);
}); 
      
    }
    ,getCheckLength: function(){ //获取选中数目
      var checkStatus = table.checkStatus('test')
      ,data = checkStatus.data;
      layer.msg('选中了：'+ data.length + ' 个');
    }
    ,isAll: function(){ //验证是否全选
      var checkStatus = table.checkStatus('test');
      layer.msg(checkStatus.isAll ? '全选': '未全选')
    }
  };
  
  $('.demoTable .layui-btn').on('click', function(){
    var type = $(this).data('type');
    active[type] ? active[type].call(this) : '';
  });
  
   //温馨提示：默认由前端自动合计当前行数据。从 layui 2.5.6 开始： 若接口直接返回了合计行数据，则优先读取接口合计行数据。
  //详见：https://www.layui.com/doc/modules/table.html#totalRow
  table.render({
    elem: '#test'
    ,url:'/admin/plugin/pluginlist'
    ,toolbar: '#toolbarDemo'
    ,title: '插件列表数据'
    ,totalRow: true
    ,cols: [[
      {type: 'checkbox', fixed: 'left'}
      ,{field:'title', title:'插件名称', align:'center'}
      ,{field:'name', title:'插件标识', align:'center'}
      ,{field:'description', title:'描述', align:'center'}
      ,{field:'author', title:'作者',  align:'center'}
      ,{field:'version', title:'版本',  align:'center'}
      ,{field:'status', title:'状态',toolbar: '#statusp', align:'center'}
      ,{fixed: 'operate', title:'操作', toolbar: '#barDemos', align:'center',fixed: 'right',widht:500 }
    ]]
    // ,page: true
     ,response:{
		      statusName:'code', //规定返回的状态码字段为code
			  statusCode:1 //规定成功的状态码味200
    }
    ,parseData: function(res){ //res 即为原始返回的数据
    return {
      "code": res.code, //解析接口状态
      "msg": res.msg, //解析提示文本
    //   "count": res.count, //解析数据长度
      "data": res.data  //解析数据列表
    };
  }
    ,done: function(res, curr, count){
    //如果是异步请求数据方式，res即为你接口返回的信息。
    //如果是直接赋值的方式，res即为：{data: [], count: 99} data为当前页数据、count为数据总长度
    console.log(res.code);
    

  }
  });
  
  //监听工具条 
table.on('tool(test)', function(obj){ //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
  var data = obj.data; //获得当前行数据
  var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
  var tr = obj.tr; //获得当前行 tr 的 DOM 对象（如果有的话）
    console.log(data)
 
  if(layEvent === 'detail'){ //查看
    //do somehing
    
    
  } else if(layEvent === 'updata'){
      $.ajax({
          url:"{:url('plugin/updata')}",
          data:{'data':data},
          type:"Post",
          dataType:"json",
          success:function(data){
            console.log(data);
            if(data.code == 1){
                 updata();
             }
              layer.msg(data.msg);
            
          },
          error:function(data){
              $.messager.alert('错误',data.msg);
          }
      });
  }
  else if(layEvent === 'install'){ //查看
    //do somehing
    layer.confirm('真的安装该插件吗？', function(index){
        layer.close(index);
       $.ajax({
          url:"{:url('plugin/install')}",
          data:{'data':data},
          type:"Post",
          dataType:"json",
          success:function(data){
            console.log(data);
            if(data.code == 1){
                 updata();
             }
              layer.msg(data.msg);
            
          },
          error:function(data){
              $.messager.alert('错误',data.msg);
          }
      });
      
    });
    
    
  }  else if(layEvent === 'guanli'){
      
         layer.open({
              type: 2,
              title :data.title+'管理设置',
              area: ['100%', '100%'],
            content: 'plugin/admin?data='+data.name,
              zIndex: layer.zIndex, //重点1
              success: function(layero){
                layer.setTop(layero); //重点2
              } ,cancel: function(){ 
                //右上角关闭回调
                updata();
                //return false 开启该代码可禁止点击该按钮关闭
              }
            });
      
               
  } else if(layEvent === 'del'){ //删除
    layer.confirm('确定要卸载该插件吗？', function(index){
      
      layer.close(index);
      //向服务端发送删除指令
       $.ajax({
          url:"{:url('plugin/uninstall')}",
          data:{'data':data},
          type:"Post",
          dataType:"json",
          success:function(data){
            console.log(data);
            if(data.code == 1){
                // obj.del(); //删除对应行（tr）的DOM结构，并更新缓存
                 updata();
             }
              layer.msg(data.msg);
            
          },
          error:function(data){
              $.messager.alert('错误',data.msg);
          }
      });
      
    });
  } else if(layEvent === 'edit'){ //编辑
    //do something
            layer.open({
  type: 2,
  area: ['100%', '100%'],
  content: '/admin/edit?tid='+data.tid,
  zIndex: layer.zIndex, //重点1
  success: function(layero){
    layer.setTop(layero); //重点2
  } ,cancel: function(){ 
    //右上角关闭回调
    updata();
    //return false 开启该代码可禁止点击该按钮关闭
  }
}); 
    
  } else if(layEvent === 'status'){ //编辑
    //do something
    
        //未发布改为已发布
        //已发布改为未发布
       $.ajax({
          url:"{:url('/admin/plugin/disable')}",
          data:{'tid':data.tid,'status':data.status},
          type:"Post",
          dataType:"json",
          success:function(data){
            console.log(data.code);
             if(data.code == 1){
                 updata();
             }
              layer.msg(data.msg);
              
          },
          error:function(data){
              $.messager.alert('错误',data.msg);
          }
      });
        

    
    
  } else if(layEvent === 'LAYTABLE_TIPS'){
      
    layer.alert('Hi，头部工具栏扩展的右侧图标。');
  }
});

    //重新渲染数据
    function updata(){
        table.reload('test', {
                  url: '/admin/plugin/pluginlist'
        });
        
    }
    
    //批量删除按钮事件
    $("#delet").on('click',function(){
        // layer.alert('dd');
        
        
    });

    
    
    //刷新数据按钮事件
    $("#updatas").on('click',function(){
        updata();
    });
 
   </script>
</body>
</html>